/**
 * @filename:PurInDetail Jan 15, 2025
 * Copyright(c) 2022 Wonder Co. Ltd. 
 * All right reserved. 
 */
package com.wonder.app.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**   
 * @Description:TODO(采购入库详情实体类)
 * 
 * @author: Wonder
 * 
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_pur_in_detail")
@ApiModel(value="t_pur_in_detail对象", description="采购入库详情表")
public class PurInDetail extends Model<PurInDetail> {

	private static final long serialVersionUID = 1736924943347124L;
	
	@TableId(value ="id", type = IdType.AUTO)
	@ApiModelProperty(name = "id" , value = "")
    private Long id;
    
    @TableField(value = "billNo") 	
	@ApiModelProperty(name = "billNo" , value = "单据编号")
    private String billNo;
    
    @TableField(value = "materialNo") 	
	@ApiModelProperty(name = "materialNo" , value = "物料编号")
    private String materialNo;
    
    @TableField(value = "materialName")
	@ApiModelProperty(name = "materialName" , value = "物料名称")
    private String materialName;
    
    @TableField(value = "specification") 	
	@ApiModelProperty(name = "specification" , value = "物料规格")
    private String specification;
    
    @TableField(value = "unitName") 	
	@ApiModelProperty(name = "unitName" , value = "单位名称")
    private String unitName;
    
    @TableField(value = "unitNo") 	
	@ApiModelProperty(name = "unitNo" , value = "单位编号")
    private String unitNo;
    
    @TableField(value = "flot") 	
	@ApiModelProperty(name = "flot" , value = "批次号")
    private String flot;
    
    @TableField(value = "stockNo") 	
	@ApiModelProperty(name = "stockNo" , value = "仓库编号")
    private String stockNo;

    @TableField(value = "stockName")
    @ApiModelProperty(name = "stockName" , value = "仓库名称")
    private String stockName;
    
    @TableField(value = "locationNo") 	
	@ApiModelProperty(name = "locationNo" , value = "仓位编号")
    private String locationNo;

    @TableField(value = "receiveBillNo")
    @ApiModelProperty(name = "receiveBillNo" , value = "收料通知单号")
    private String receiveBillNo;
    
    @TableField(value = "mustQty") 	
	@ApiModelProperty(name = "mustQty" , value = "应收数量")
    private Double mustQty;
    
    @TableField(value = "realQty") 	
	@ApiModelProperty(name = "realQty" , value = "实收数量")
    private Double realQty;

    @TableField(exist = false)
    @ApiModelProperty(name = "isLocation" , value = "是否启用仓位")
    private Boolean isLocation;

    @TableField(exist = false)
    @ApiModelProperty(name = "locationList" , value = "仓库向下的仓位集合")
    private List<String> locationList;

    @TableField(exist = false)
    @ApiModelProperty(name = "stockList" , value = "仓库集合")
    private List<Map<String,Object>> stockList;
    
    @TableField(value = "weightQty")
	@ApiModelProperty(name = "weightQty" , value = "地磅称重数量")
    private Double weightQty;

    @TableField(value = "reveiveId")
    @ApiModelProperty(name = "reveiveId" , value = "收料详情id")
    private Long reveiveId;

    @TableField(value = "unReceiveQty")
    @ApiModelProperty(name = "unReceiveQty" , value = "剩余未收数量")
    private Double unReceiveQty;

    @TableField(value = "status")
    @ApiModelProperty(name = "status" , value = "是否入库完成")
    private String status;

    @TableField(exist = false)
    private PurIn purIn;

	@Override
    public Serializable pkVal() {
        return this.id;
    }
   
}
